package com.atguigu.spzx.manager.service;

import com.atguigu.spzx.manager.vo.sysMenu.SysMenuQueryRespVo;
import com.atguigu.spzx.manager.vo.sysMenu.SysMenuQueryTreeVo;
import com.atguigu.spzx.manager.vo.sysMenu.SysMenuSaveReqVo;
import com.atguigu.spzx.manager.vo.sysMenu.SysMenuUpdateReqVo;
import java.util.List;

/**
 * 系统菜单服务接口
 */
public interface SysMenuService {

    /**
     * 获取菜单树形列表
     *
     * @return 菜单树形列表
     */
    List<SysMenuQueryTreeVo> getMenuTree();

    /**
     * 添加菜单
     *
     * @param reqVo 菜单请求对象
     */
    void saveMenu(SysMenuSaveReqVo reqVo);

    /**
     * 根据ID查询菜单
     *
     * @param id 菜单ID
     * @return 菜单查询响应对象
     */
    SysMenuQueryRespVo getMenuById(Long id);

    /**
     * 修改菜单
     *
     * @param reqVo 菜单更新请求对象
     */
    void updateMenuById(SysMenuUpdateReqVo reqVo);

    /**
     * 删除菜单
     *
     * @param id 菜单ID
     */
    void deleteMenuById(Long id);
}
